home *** CD-ROM | disk | FTP | other *** search
/ PC Media 22 / PC MEDIA CD22.iso / share / prog / mwdemo / funcs.doc < prev    next >
Text File  |  1994-08-05  |  17KB  |  704 lines

  1. BC1      MetaWINDOW FUNCTION SUMMARY
  2.  
  3. All MetaWINDOW graphic libraries include the
  4. following function set:
  5.  
  6. C2System Initialization
  7. ---------------------
  8. CCFindBestDisplay() D- Auto detect the best
  9. graphics hardware device mode.
  10.  
  11. CCFindBestInfo() D- Return information about
  12. a specified device mode.
  13.  
  14. CCFindUserDisplay() D- Return display mode
  15. based on user command line parameters.
  16.  
  17. CCFindBestMouse() D- Auto detect the best
  18. mouse input device mode.
  19.  
  20. CCQueryGraphics() D- Auto detect the graphics
  21. hardware configuration.
  22.  
  23. CCInitGraphics() D- Initialize the MetaWINDOW
  24. graphics system.
  25.  
  26. CCStopGraphics() D- Terminate graphics processing.
  27.  
  28. CCMetaVersion() D- Return MetaWINDOW version number.
  29.  
  30. CCScreenRect() D- Return the screen bitmap limits.
  31.  
  32. CCSetDisplay() D- Select the visible graphics page.
  33.  
  34. CCSetBitmap() D- Select the writable graphics page.
  35.  
  36. CCRasterOp() D- Set the rasterOp drawing mode (16
  37. standard + 16 transparent).
  38.  
  39. CCPlaneMask() D- Inhibit writing to masked bitmap
  40. planes.
  41.  
  42. CCWaitRetrace() D- Wait for video retrace event
  43. to occur.
  44.  
  45.  
  46. C2Pen Attribute Functions
  47. -----------------------
  48. CCPenColor() D- Select the pen color.
  49.  
  50. CCPenSize() D- Set the pen size.
  51.  
  52. CCPenPattern() D- Select the pen pattern.
  53.  
  54. CCPenDash() D- Select dashed line style.
  55.  
  56. CCPenNormal() D- Reset to default pen attributes.
  57.  
  58. CCHidePen() D- Disable drawing operations.
  59.  
  60. CCShowPen() D- Enable drawing operations.
  61.  
  62. CCGetPenState() D- Save the current pen attributes.
  63.  
  64. CCSetPenState() D- Restore the pen attributes.
  65.  
  66. CCPenOffset() D- Set the centered-dash offset.
  67.  
  68. CCFillRule() D- Select the polygon fill rule
  69. (winding/oddEven).
  70.  
  71. CCDashStyle() D- Select the dash style
  72. (OnOff/Double).
  73.  
  74. CCPenCap() D- Select the thin line end-cap style.
  75.  
  76.  
  77. C2Pen Attributes
  78. --------------------------
  79. CCPenShape() D- Select the pen shape
  80. (rectangle/square or oval/circle).
  81.  
  82. CCPenCap() D- Select the line end-cap style
  83. (flat/square/round).
  84.  
  85. CCPenJoin() D- Select the connected-line join style
  86. (round/bevel/miter).
  87.  
  88. CCMiterLimit() D- Set mitered-join limit angle.
  89.  
  90.  
  91. C2Background Style
  92. ----------------
  93. CCBackPattern() D- Set background pattern.
  94.  
  95. CCBackColor() D- Set background color.
  96.  
  97.  
  98. C2Point and Line Drawing Routines
  99. -------------------------------
  100. CCMoveTo() D- Move to (X,Y).
  101.  
  102. CCLineTo() D- Draw line to (X,Y).
  103.  
  104. CCMoveRel() D- Move relative (DX,DY).
  105.  
  106. CCLineRel() D- Draw line relative (DX,DY).
  107.  
  108. CCPolyLine() D- Draw connected multi-line sequence.
  109.  
  110. CCPolySegment() D- Draw disconnected multi-line
  111. sequence.
  112.  
  113. CCSetPixel() D- Set pixel with the current pen
  114. color.
  115.  
  116. CCGetPixel() D- Return color of pixel at (X,Y).
  117.  
  118.  
  119. C2Rectangle Drawing Routines
  120. --------------------------
  121. CCFrameRect() D- Draw rectangle outline.
  122.  
  123. CCPaintRect() D- Fill rectangle interior.
  124.  
  125. CCEraseRect() D- Erase rectangle interior.
  126.  
  127. CCInvertRect() D- Invert rectangle interior.
  128.  
  129. CCFillRect() D- Fill rectangle with specified
  130. pattern.
  131.  
  132.  
  133. C2Rounded-Corner Rectangle Drawing Routines
  134. -----------------------------------------
  135. CCFrameRoundRect() D- Draw rounded-rectangle
  136. outline.
  137.  
  138. CCPaintRoundRect() D- Fill rounded-rectangle
  139. interior.
  140.  
  141. CCEraseRoundRect() D- Erase rounded-rectangle
  142. interior.
  143.  
  144. CCInvertRoundRect() D- Invert rounded-rectangle
  145. interior.
  146.  
  147. CCFillRoundRect() D- Fill roundRect with specified
  148. pattern.
  149.  
  150.  
  151. C2Circle/Ellipse/Oval Drawing Routines
  152. ------------------------------------
  153. CCFrameOval() D- Draw oval outline.
  154.  
  155. CCPaintOval() D- Fill oval interior.
  156.  
  157. CCEraseOval() D- Erase oval interior.
  158.  
  159. CCInvertOval() D- Invert oval interior.
  160.  
  161. CCFillOval() D- Fill oval with specified pattern.
  162.  
  163.  
  164. C2Arc and Wedge Drawing Routines
  165. ------------------------------
  166. CCFrameArc() D- Draw arc outline.
  167.  
  168. CCPaintArc() D- Fill arc interior.
  169.  
  170. CCEraseArc() D- Erase arc interior.
  171.  
  172. CCInvertArc() D- Invert arc interior.
  173.  
  174. CCFillArc() D- Fill arc with specified pattern.
  175.  
  176.  
  177. C2Polygon Drawing Routines
  178. ------------------------
  179. CCFramePoly() D- Draw polygon outline.
  180.  
  181. CCPaintPoly() D- Fill polygon interior(s).
  182.  
  183. CCErasePoly() D- Erase polygon interior(s).
  184.  
  185. CCInvertPoly() D- Invert polygon interior(s).
  186.  
  187. CCFillPoly() D- Fill polygon(s) with specified
  188. pattern.
  189.  
  190. CCFillPolygon() D- Optimized fill for convex,
  191. non-convex and complex polygons.
  192.  
  193.  
  194. C2Bezier Curve Drawing Routines
  195. ------------------------
  196. CCFrameBezier() D- Draw Bezier outline.
  197.  
  198. CCPaintBezier() D- Fill Bezier interior(s).
  199.  
  200. CCEraseBezier() D- Erase Bezier interior(s).
  201.  
  202. CCInvertBezier() D- Invert Bezier interior(s).
  203.  
  204. CCFillBezier() D- Fill Bezier(s) with specified
  205. pattern.
  206.  
  207. CCPolyBezier() D- Draw connected multi-Bezier
  208. sequence.
  209.  
  210.  
  211. C2Marker Drawing Routines
  212. -----------------------
  213. CCMarkerType() D- Set marker style.
  214.  
  215. CCMarkerSize() D- Set marker size.
  216.  
  217. CCMarkerAngle() D- Set marker angle.
  218.  
  219. CCPolyMarker() D- Draw marker(s).
  220.  
  221.  
  222. C2Text Drawing Procedures
  223. -----------------------
  224. CCDrawChar() D- Draw character.
  225.  
  226. CCDrawString() D- Draw string.
  227.  
  228. CCDrawText() D- Draw text substring.
  229.  
  230. CCCharWidth() D- Return character width.
  231.  
  232. CCStringWidth() D- Return string width.
  233.  
  234. CCTextWidth() D- Return text substring width.
  235.  
  236.  
  237. C2Text Drawing Procedures - International Fonts
  238. C2(16-bit coded characters)
  239. ---------------------------------------------
  240. CCDrawChar16() D- Draw coded character.
  241.  
  242. CCDrawString16() D- Draw coded string.
  243.  
  244. CCDrawText16() D- Draw coded text substring.
  245.  
  246. CCCharWidth16() D- Return coded character width.
  247.  
  248. CCStringWidth16() D- Return coded string width.
  249.  
  250. CCTextWidth16() D- Return coded text substring
  251. width.
  252.  
  253.  
  254. C2Font Attribute Functions
  255. --------------------------
  256. CCSetFont() D- Make a font the current drawing
  257. font.
  258.  
  259. CCTextAlign() D- Set text horizontal/vertical
  260. alignment.
  261.  
  262. CCTextFace() D- Set font facing (bold, italic,
  263. underline,strikeout,etc.).
  264.  
  265. CCTextUnder() D- Set text underline distance.
  266.  
  267. CCTextScore() D- Set text underline scoring.
  268.  
  269. CCTextPath() D- Set text path angle.
  270.  
  271. CCTextExtra() D- Set character justification
  272. spacing.
  273.  
  274. CCTextSpace() D- Set space justification spacing.
  275.  
  276. CCTextAngle() D- Set text rotation angle.
  277.  
  278. CCTextSize() D- Set text size.
  279.  
  280. CCTextSlant() D- Set text slant angle.
  281.  
  282.  
  283. C2Image Drawing Routines
  284. ----------------------
  285. CCImageSize() D- Calculate image buffer
  286. requirements.
  287.  
  288. CCReadImage() D- Read bitmap into an image buffer.
  289.  
  290. CCWriteImage() D- Write image buffer to bitmap.
  291.  
  292. CCXlateImage() D- Translate image buffer to a new
  293. bitmap format.
  294.  
  295.  
  296. C2Point "In" Object Detection
  297. --------------------------
  298. CCPtInRect() D- Return true if point is inside a
  299. rectangle.
  300.  
  301. CCPtInOval() D- Return true if point is inside an
  302. oval.
  303.  
  304. CCPtInArc() D- Return true if point is inside an
  305. arc.
  306.  
  307. CCPtInRoundRect() D- Return true if point is inside a
  308. roundRect.
  309.  
  310. CCPtInPoly() D- Return true if point is inside a
  311. polygon.
  312.  
  313. CCPtInFlood() D- Return true if point is inside a
  314. flood-fill area.
  315.  
  316. CCPtInBoundary() D- Return true if point is inside a
  317. boundary-fill area.
  318.  
  319.  
  320. C2Point "On" Object Detection
  321. --------------------------
  322. CCPtOnLine() D- Return true if point is on a line.
  323.  
  324. CCPtOnPolyLine() D- Return true if point is on a
  325. polyline.
  326.  
  327. CCPtOnRect() D- Determine if point is on the edge of
  328. a rectangle.
  329.  
  330. CCPtOnOval() D- Determine if point is on the edge of
  331. an oval.
  332.  
  333. CCPtOnArc() D- Determine if point is on the edge of
  334. an arc.
  335.  
  336. CCPtOnRoundRect() D- Determine if point is on the
  337. edge of a roundRect.
  338.  
  339. CCPtOnPoly() D- Determine if point is on the edge of
  340. a polygon.
  341.  
  342.  
  343. C2Graphic Inquiries
  344. -----------------
  345. CCQueryPosn() D- Return current (X,Y) position.
  346.  
  347. CCQueryX() D- Return current X position.
  348.  
  349. CCQueryY() D- Return current Y position.
  350.  
  351. CCQueryRes() D- Return pixel resolution (X & Y
  352. pixels/inch).
  353.  
  354. CCQueryError() D- Return MetaWINDOW error status.
  355.  
  356.  
  357. C2Custom Styles and Patterns
  358. --------------------------
  359. CCAlignPattern() D- Set pattern alignment.
  360.  
  361. CCDefinePattern() D- Define a custom multi-color fill
  362. pattern.
  363.  
  364. CCDefineDash() D- Define a custom line dash style (up
  365. to 256 pixel lengths).
  366.  
  367.  
  368. C2Color Graphics
  369. --------------
  370. CCQueryColors() D- Return maximum display colors.
  371.  
  372. CCReadPalette() D- Read color palette.
  373.  
  374. CCWritePalette() D- Load color palette.
  375.  
  376. CCFindClosestRGB() D- Find the value in the palette
  377. that most closely matches a given RGB color.
  378.  
  379. CCBorderColor() D- Sets the color of the screen
  380. overscan area.
  381.  
  382.  
  383. C2Operations with Bitmaps
  384. -----------------------
  385. CCCreateBitmap() D- Create an offscreen
  386. bitmap in conventional, EMS, XMS or disk-cached
  387. virtual memory.
  388.  
  389. CCDestroyBitmap() D- Release an offscreen
  390. bitmap created by CreateBitmap().
  391.  
  392. CCInitBitmap() D- Initialize a display,
  393. local-memory, EMS - XMS or disk-cached
  394. virtual bitmap.
  395.  
  396. CCCloseBitmap() D- Release a display, local-memory,
  397. EMS - XMS or disk-cached virtual bitmap.
  398.  
  399. CCPortBitmap() D- Assign bitmap to the current port.
  400.  
  401. CCCopyBlit() D- Copy an image between two bitmaps.
  402.  
  403. CCScrollRect() D- Move an image to a new position on
  404. the same bitmap.
  405.  
  406. CCCursorBitmap() D- Set active bitmap for cursor
  407. tracking.
  408.  
  409. CCZoomBlit() D- Copy a scaled image between two
  410. bitmaps.
  411.  
  412.  
  413. C2Operations with Ports & Windows
  414. -------------------------------
  415. CCInitPort() D- Initialize a new port/window.
  416.  
  417. CCGetPort() D- Return pointer to the current port.
  418.  
  419. CCSetPort() D- Make specified port the current port.
  420.  
  421. CCPortSize() D- Set the port size.
  422.  
  423. CCMovePortTo() D- Set the port location.
  424.  
  425. CCSetOrigin() D- Set the local port coordinate
  426. origin.
  427.  
  428. CCPortOrigin() D- Set the origin orientation
  429. (upperleft/lowerleft).
  430.  
  431. CCVirtualRect() D- Set the port's virtual coordinate
  432. limits.
  433.  
  434. CCSetLocal() D- Set port to local coordinates.
  435.  
  436. CCSetVirtual() D- Set port to virtual coordinates.
  437.  
  438. CCClipRect() D- Set the port clipping rectangle.
  439.  
  440. CCClipRegion() D- Set clipping to an irregular shaped
  441. region.
  442.  
  443.  
  444. C2Operations with Regions
  445. -----------------------
  446. CCBitmapToRegion() D- Create a region from a bitmap
  447. and given transparent color.
  448.  
  449. CCOpenRegion() D- Open to create a new region from
  450. drawing calls.
  451.  
  452. CCCloseRegion() D- Closes OpenRegion() drawing
  453. calls.
  454.  
  455. CCDestroyRegion() D- Release region.
  456.  
  457. CCDupRegion() D- Creates a duplicate of an existing
  458. region.
  459.  
  460. CCRectRegion() D- Creates a rectangle shaped region.
  461.  
  462. CCRectListToRegion() D- Converts a list of rectangles
  463. to a region.
  464.  
  465. CCIntersectRegion() D- Creates a region that is the
  466. intersection of two regions.
  467.  
  468. CCSubtractRegion() D- Creates a region that is the
  469. area of one region with a second region
  470. subtracted from it.
  471.  
  472. CCUnionRegion() D- Creates a region that is the
  473. combination of two regions.
  474.  
  475. CCXorRegion() D- Creates a region that is the area of
  476. one region or other, but not both.
  477.  
  478.  
  479. C2Calculations and Tests with Regions
  480. -----------------------------------
  481. CCEmptyRegion() D- Determine if a region is a NULL
  482. region with no area
  483.  
  484. CCNullRegion() D- Sets a region to an empty region.
  485.  
  486. CCOffsetRegion() D- Move the position of a region.
  487.  
  488. CCPtInRegion() D- Determines if a point is located
  489. within a region.
  490.  
  491. CCRectInRegion() D- Determines if a rectangle
  492. intersects a region.
  493.  
  494.  
  495. C2Drawing Functions with Regions
  496. ------------------------------
  497. CCEraseRegion() D- Fills a region with the current
  498. background pattern.
  499.  
  500. CCFillRegion() D- Fills a region with a specified
  501. pattern.
  502.  
  503. CCInvertRegion() D- Inverts the colors within a
  504. region.
  505.  
  506. CCPaintRegion() D- Fills a region using the current
  507. foreground pattern & rasterOp
  508.  
  509.  
  510. C2Clipping Operations with Regions
  511. --------------------------------
  512. CCClipRegion() D- Set clipping to an irregular shaped
  513. region.
  514.  
  515.  
  516. C2Calculations with Points
  517. --------------------------
  518. CCSetPt() D- Copy X,Y to a point variable.
  519.  
  520. CCDupPt() D- Copy a point variable to another point
  521. variable.
  522.  
  523. CCAddPt() D- Add two point variables.
  524.  
  525. CCSubPt() D- Subtract two point variables.
  526.  
  527. CCEqualPt() D- Return true if two points are equal.
  528.  
  529. CCScalePt() D- Scale a point variable.
  530.  
  531. CCMapPt() D- Translate and scale a point variable.
  532.  
  533. CCOvalPt() D- Return the point on oval at a specified
  534. angle.
  535.  
  536. CCPtToAngle() D- Return angle from oval center to a
  537. point.
  538.  
  539.  
  540. C2Calculations with Rectangles
  541. ----------------------------
  542. CCSetRect() D- Copy coordinates to a rectangle
  543. variable.
  544.  
  545. CCDupRect() D- Copy a rect variable to another rect
  546. variable.
  547.  
  548. CCPt2Rect() D- Copy diagonal points to a rectangle
  549. variable.
  550.  
  551. CCCenterRect() D- Calculate a centered rectangle
  552. variable.
  553.  
  554. CCOffsetRect() D- Offset a rectangle variable.
  555.  
  556. CCInsetRect() D- Inset or outset a rectangle
  557. variable.
  558.  
  559. CCInceptRect() D- Return intersect rect of two
  560. rectangles.
  561.  
  562. CCUnionRect() D- Return union rect of two
  563. rectangles.
  564.  
  565. CCEqualRect() D- Return true if two rectangles are
  566. equal.
  567.  
  568. CCShiftRect() D- Return voided rect(s) of a shifted
  569. rect move.
  570.  
  571. CCMapRect() D- Translate and scale a rectangle
  572. variable.
  573.  
  574.  
  575. C2Calculations with Polygons
  576. --------------------------
  577. CCOffsetPoly() D- Offset polygon coordinates.
  578.  
  579. CCMapPoly() D- Translate and scale polygon
  580. coordinates.
  581.  
  582.  
  583. C2Coordinate Transformations
  584. --------------------------
  585. CCGbl2LclPt() D- Transform point, global to local.
  586.  
  587. CCGbl2VirPt() D- Transform point, global to virtual.
  588.  
  589. CCLcl2GblPt() D- Transform point, local to global.
  590.  
  591. CCLcl2VirPt() D- Transform point, local to virtual.
  592.  
  593. CCVir2GblPt() D- Transform point, virtual to global.
  594.  
  595. CCVir2LclPt() D- Transform point, virtual to local.
  596.  
  597. CCGbl2LclRect() D- Transform rectangle, global to
  598. local.
  599.  
  600. CCGbl2VirRect() D- Transform rectangle, global to
  601. virtual.
  602.  
  603. CCLcl2GblRect() D- Transform rectangle, local to
  604. global.
  605.  
  606. CCLcl2VirRect() D- Transform rectangle, local to
  607. virtual.
  608.  
  609. CCVir2GblRect() D- Transform rectangle, virtual to
  610. global.
  611.  
  612. CCVir2LclRect() D- Transform rectangle, virtual to
  613. local.
  614.  
  615.  
  616. C2Mouse/Digitizer/TouchScreen/Tablet/Pen Tracking
  617. -----------------------------------------------
  618. CCQueryMouse() D- Locate mouse/locator input
  619. devices.
  620.  
  621. CCInitMouse() D- Initialize mouse or joystick
  622. device tracking.
  623.  
  624. CCStopMouse() D- Terminate tracking.
  625.  
  626. CCReadMouse() D- Read position and buttons.
  627.  
  628. CCLimitMouse() D- Set tracking limits.
  629.  
  630. CCScaleMouse() D- Set tracking scale.
  631.  
  632.  
  633. C2Cursor Tracking Procedures
  634. --------------------------
  635. CCDefineCursor() D- Define cursor style (up to 32x32
  636. pixels in size).
  637.  
  638. CCCursorColor() D- Select cursor colors.
  639.  
  640. CCShowCursor() D- Display screen cursor.
  641.  
  642. CCHideCursor() D- Remove screen cursor.
  643.  
  644. CCMoveCursor() D- Move cursor to X,Y.
  645.  
  646. CCCursorStyle() D- Select cursor appearance.
  647.  
  648. CCTrackCursor() D- Enable asynchronous auto-cursor
  649. tracking.
  650.  
  651. CCProtectRect() D- Define a cursor protected area.
  652.  
  653. CCProtectOff() D- Disable cursor protected areas.
  654.  
  655. CCQueryCursor() D- Return cursor position and
  656. buttons.
  657.  
  658. CCDefineCursor() D- Define custom cursor style.
  659.  
  660.  
  661. C2Event Queue Processing Procedures
  662. ---------------------------------
  663. CCEventQueue() D- Enable event queue processing.
  664.  
  665. CCStopEvent() D- Terminate event queue processing.
  666.  
  667. CCKeyEvent() D- Retrieve next queued event.
  668.  
  669. CCPeekEvent() D- Examine queued events.
  670.  
  671. CCStoreEvent() D- Store a program generated event.
  672.  
  673. CCEventMask() D- Select events to be stored into the
  674. event-queue.
  675.  
  676.  
  677. C2File I/O Procedures
  678. -------------------
  679. CCFileQuery() D- Retrieve file directory info.
  680.  
  681. CCFileLoad() D- Load a (font) file into memory.
  682.  
  683. CCFileStore() D- Write a file from memory.
  684.  
  685. CCResrcQuery() D- Retrieve file directory info
  686. from the current METAPATH and PATH settings.
  687.  
  688. CCResrcLoad() D- Load a file into memory
  689. from the current METAPATH and PATH settings.
  690.  
  691.  
  692. C2System Utilities
  693. ----------------
  694.  
  695. CCPushGrafix() D- Push the graphics state.
  696.  
  697. CCPopGrafix() D- Pop the graphics state.
  698.  
  699. CCHardCopy() D- Output an area of a screen,
  700. local-memory, EMS, XMS or disk-cached virtual
  701. bitmap to a dot matrix printer, laser printer or
  702. disk file.
  703.  
  704.